package com.wing.bill.dao;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wing.cabinet.model.response.CheckedResultVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Mapper
public interface UnusualAndCheckNewReportDao {

    List<HashMap> list(@Param("abnormal")Integer abnormal,@Param("param")String param,@Param("enterpriseCode")String enterpriseCode);

    HashMap queryNumCheckAfter(@Param("abnormal")Integer abnormal,@Param("businessType")Integer businessType,@Param("classifyName")String classifyName,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);
    List<HashMap> queryNumCheckAfterClick(@Param("abnormal")Integer abnormal,@Param("businessType")Integer businessType,@Param("classifyName")String classifyName,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    HashMap queryNumCheckPre(@Param("businessTypePre")Integer businessTypePre,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode, @Param("isCorrect")Integer isCorrect);
    List<HashMap> queryNumCheckPreClick(@Param("businessTypePre")Integer businessTypePre,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);


    List<HashMap> queryStatisticsByParam(@Param("selectParam")String selectParam, @Param("param")String param,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    List<HashMap> queryReason(@Param("screenParam") Map<String, Object> screenParam, @Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    Integer getTotal(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("param")String param, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);


    List<HashMap> queryStatisticsByParam2(@Param("selectParam")String selectParam, @Param("param")String param,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    List<HashMap> queryStatisticsByParam3(@Param("selectParam")String selectParam, @Param("param")String param,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    List<HashMap> queryStatisticsByTab(@Param("businessType")Integer businessType,@Param("classifyName")String classifyName,@Param("selectParam")String selectParam, @Param("param")String param,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    HashMap queryCheckResultStatistics(@Param("abnormal")Integer abnormal,@Param("businessType")Integer businessType,@Param("classifyName")String classifyName,@Param("params") Map<String, Object> params);

    List<CheckedResultVO> checkDataList(@Param("page") Page<CheckedResultVO> page, @Param("params") Map<String, Object> params);
}
